package com.ruoyi.user.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户信息对象 user
 * 
 * @author ruoyi
 * @date 2024-06-29
 */
public class User extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户唯一标识 */
    private Long UserId;

    /** 用户登陆名 */
    @Excel(name = "用户登陆名")
    private String Username;

    /** 用户登陆密码 */
    @Excel(name = "用户登陆密码")
    private String Password;

    /** 用户真实姓名 */
    @Excel(name = "用户真实姓名")
    private String FullName;

    /** 用户性别 */
    @Excel(name = "用户性别")
    private String Gender;

    /** 用户出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "用户出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date BirthDate;

    /** 用户电子邮箱地址 */
    @Excel(name = "用户电子邮箱地址")
    private String Email;

    /** 用户联系电话 */
    @Excel(name = "用户联系电话")
    private String PhoneNumber;

    /** 用户居住地址 */
    @Excel(name = "用户居住地址")
    private String Address;

    /** 用户注册日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "用户注册日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date RegistrationDate;

    /** 用户最后登录日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "用户最后登录日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date LastLoginDate;

    /** 用户帐号状态 */
    @Excel(name = "用户帐号状态")
    private String UserStatus;

    /** 用户在平台中的角色 */
    @Excel(name = "用户在平台中的角色")
    private String Role;

    /** 用户所属公司ID */
    @Excel(name = "用户所属公司ID")
    private Long CompanyId;

    /** 用户在公司中的职位 */
    @Excel(name = "用户在公司中的职位")
    private String Position;

    /** 公司审核状态 */
    @Excel(name = "公司审核状态")
    private String CompanyApprovalStatus;

    public void setUserId(Long UserId) 
    {
        this.UserId = UserId;
    }

    public Long getUserId() 
    {
        return UserId;
    }
    public void setUsername(String Username) 
    {
        this.Username = Username;
    }

    public String getUsername() 
    {
        return Username;
    }
    public void setPassword(String Password) 
    {
        this.Password = Password;
    }

    public String getPassword() 
    {
        return Password;
    }
    public void setFullName(String FullName) 
    {
        this.FullName = FullName;
    }

    public String getFullName() 
    {
        return FullName;
    }
    public void setGender(String Gender) 
    {
        this.Gender = Gender;
    }

    public String getGender() 
    {
        return Gender;
    }
    public void setBirthDate(Date BirthDate) 
    {
        this.BirthDate = BirthDate;
    }

    public Date getBirthDate() 
    {
        return BirthDate;
    }
    public void setEmail(String Email) 
    {
        this.Email = Email;
    }

    public String getEmail() 
    {
        return Email;
    }
    public void setPhoneNumber(String PhoneNumber) 
    {
        this.PhoneNumber = PhoneNumber;
    }

    public String getPhoneNumber() 
    {
        return PhoneNumber;
    }
    public void setAddress(String Address) 
    {
        this.Address = Address;
    }

    public String getAddress() 
    {
        return Address;
    }
    public void setRegistrationDate(Date RegistrationDate) 
    {
        this.RegistrationDate = RegistrationDate;
    }

    public Date getRegistrationDate() 
    {
        return RegistrationDate;
    }
    public void setLastLoginDate(Date LastLoginDate) 
    {
        this.LastLoginDate = LastLoginDate;
    }

    public Date getLastLoginDate() 
    {
        return LastLoginDate;
    }
    public void setUserStatus(String UserStatus) 
    {
        this.UserStatus = UserStatus;
    }

    public String getUserStatus() 
    {
        return UserStatus;
    }
    public void setRole(String Role) 
    {
        this.Role = Role;
    }

    public String getRole() 
    {
        return Role;
    }
    public void setCompanyId(Long CompanyId) 
    {
        this.CompanyId = CompanyId;
    }

    public Long getCompanyId() 
    {
        return CompanyId;
    }
    public void setPosition(String Position) 
    {
        this.Position = Position;
    }

    public String getPosition() 
    {
        return Position;
    }
    public void setCompanyApprovalStatus(String CompanyApprovalStatus) 
    {
        this.CompanyApprovalStatus = CompanyApprovalStatus;
    }

    public String getCompanyApprovalStatus() 
    {
        return CompanyApprovalStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("UserId", getUserId())
            .append("Username", getUsername())
            .append("Password", getPassword())
            .append("FullName", getFullName())
            .append("Gender", getGender())
            .append("BirthDate", getBirthDate())
            .append("Email", getEmail())
            .append("PhoneNumber", getPhoneNumber())
            .append("Address", getAddress())
            .append("RegistrationDate", getRegistrationDate())
            .append("LastLoginDate", getLastLoginDate())
            .append("UserStatus", getUserStatus())
            .append("Role", getRole())
            .append("CompanyId", getCompanyId())
            .append("Position", getPosition())
            .append("CompanyApprovalStatus", getCompanyApprovalStatus())
            .toString();
    }
}
